
using System;

namespace LastFMGenNHibernate.EN.LastFM
{
        public class CancionEN
        {
        /**
         *
         */

        private int id;

        /**
         *
         */

        private String nombre;

        /**
         *
         */

        private int rating;

        /**
         *
         */

        private int reproducciones;

        /**
         *
         */

        private int popular;

        /**
         *
         */

        private LastFM.AlbumEN album;

        /**
         *
         */

        private LastFM.ArtistaEN artista;

        /**
         *
         */

        private System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.ComentarioEN> comentario;

        /**
         *
         */

        private LastFM.UsuarioRegistradoEN usuarioRegistrado;

        /**
         *
         */

        private LastFM.UsuarioRegistradoEN usuarioRegistrado_0;

        /**
         *
         */

        private String etiqueta;





        public virtual int Id { get { return id; } set { id = value;  } }


        public virtual String Nombre { get { return nombre; } set { nombre = value;  } }


        public virtual int Rating { get { return rating; } set { rating = value;  } }


        public virtual int Reproducciones { get { return reproducciones; } set { reproducciones = value;  } }


        public virtual int Popular { get { return popular; } set { popular = value;  } }


        public virtual LastFM.AlbumEN Album { get { return album; } set { album = value;  } }


        public virtual LastFM.ArtistaEN Artista { get { return artista; } set { artista = value;  } }


        public virtual System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.ComentarioEN> Comentario { get { return comentario; } set { comentario = value;  } }


        public virtual LastFM.UsuarioRegistradoEN UsuarioRegistrado { get { return usuarioRegistrado; } set { usuarioRegistrado = value;  } }


        public virtual LastFM.UsuarioRegistradoEN UsuarioRegistrado_0 { get { return usuarioRegistrado_0; } set { usuarioRegistrado_0 = value;  } }


        public virtual String Etiqueta { get { return etiqueta; } set { etiqueta = value;  } }



        public CancionEN()
        {
        }



        public CancionEN(int id, String nombre, int rating, int reproducciones, int popular, LastFM.AlbumEN album, LastFM.ArtistaEN artista, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.ComentarioEN> comentario, LastFM.UsuarioRegistradoEN usuarioRegistrado, LastFM.UsuarioRegistradoEN usuarioRegistrado_0, String etiqueta)
        {
                this.init (id, nombre, rating, reproducciones, popular, album, artista, comentario, usuarioRegistrado, usuarioRegistrado_0, etiqueta);
        }


        public CancionEN(CancionEN cancion)
        {
                this.init (cancion.Id, cancion.Nombre, cancion.Rating, cancion.Reproducciones, cancion.Popular, cancion.Album, cancion.Artista, cancion.Comentario, cancion.UsuarioRegistrado, cancion.UsuarioRegistrado_0, cancion.Etiqueta);
        }

        private void init (int id, String nombre, int rating, int reproducciones, int popular, LastFM.AlbumEN album, LastFM.ArtistaEN artista, System.Collections.Generic.IList<LastFMGenNHibernate.EN.LastFM.ComentarioEN> comentario, LastFM.UsuarioRegistradoEN usuarioRegistrado, LastFM.UsuarioRegistradoEN usuarioRegistrado_0, String etiqueta)
        {
                this.Id = id;


                this.Nombre = nombre;

                this.Rating = rating;

                this.Reproducciones = reproducciones;

                this.Popular = popular;

                this.Album = album;

                this.Artista = artista;

                this.Comentario = comentario;

                this.UsuarioRegistrado = usuarioRegistrado;

                this.UsuarioRegistrado_0 = usuarioRegistrado_0;

                this.Etiqueta = etiqueta;
        }

        public override bool Equals (object obj)
        {
                if (obj == null)
                        return false;
                CancionEN t = obj as CancionEN;
                if (t == null)
                        return false;
                if (Id.Equals (t.Id))
                        return true;
                else
                        return false;
        }

        public override int GetHashCode ()
        {
                int hash = 13;

                hash += (null == Id ? 0 : this.Id.GetHashCode ());
                return hash;
        }
        }
}
